/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2014 All Rights Reserved.
 */
package com.alipay.api;

import com.alipay.api.internal.util.AlipayHashMap;

import java.io.OutputStream;
import java.util.Map;

/**
 * 多媒体文件下载请求
 *
 * @author yikai.hu
 * @version $Id: AlipayMobilePublicMultiMediaDownloadRequest.java, v 0.1 Aug 15, 2014 10:19:15 AM yikai.hu Exp $
 */
public class AlipayMobilePublicMultiMediaDownloadRequest implements
		AlipayRequest<AlipayMobilePublicMultiMediaDownloadResponse> {

	private AlipayHashMap udfParams;         // add user-defined text parameters
	private String apiVersion = "1.0";

	private String notifyUrl;

	private OutputStream outputStream;

	private String bizContent;
	private String terminalType;
	private String terminalInfo;
	private String prodCode;

	public String getBizContent() {
		return this.bizContent;
	}

	public void setBizContent(String bizContent) {
		this.bizContent = bizContent;
	}

	@Override
	public String getApiVersion() {
		return this.apiVersion;
	}

	@Override
	public void setApiVersion(String apiVersion) {
		this.apiVersion = apiVersion;
	}

	@Override
	public String getTerminalType() {
		return this.terminalType;
	}

	@Override
	public void setTerminalType(String terminalType) {
		this.terminalType = terminalType;
	}

	@Override
	public String getTerminalInfo() {
		return this.terminalInfo;
	}

	@Override
	public void setTerminalInfo(String terminalInfo) {
		this.terminalInfo = terminalInfo;
	}

	@Override
	public String getProdCode() {
		return this.prodCode;
	}

	@Override
	public void setProdCode(String prodCode) {
		this.prodCode = prodCode;
	}

	@Override
	public String getApiMethodName() {
		return "alipay.mobile.public.multimedia.download";
	}

	@Override
	public Map<String, String> getTextParams() {
		AlipayHashMap txtParams = new AlipayHashMap();
		txtParams.put("biz_content", this.bizContent);
		if (udfParams != null) {
			txtParams.putAll(this.udfParams);
		}
		return txtParams;
	}

	public void putOtherTextParam(String key, String value) {
		if (this.udfParams == null) {
			this.udfParams = new AlipayHashMap();
		}
		this.udfParams.put(key, value);
	}

	/**
	 * Getter method for property <tt>outputStream</tt>.
	 *
	 * @return property value of outputStream
	 */
	public OutputStream getOutputStream() {
		return outputStream;
	}

	/**
	 * Setter method for property <tt>outputStream</tt>.
	 *
	 * @param outputStream value to be assigned to property outputStream
	 */
	public void setOutputStream(OutputStream outputStream) {
		this.outputStream = outputStream;
	}

	/**
	 * Getter method for property <tt>notifyUrl</tt>.
	 *
	 * @return property value of notifyUrl
	 */
	@Override
	public String getNotifyUrl() {
		return notifyUrl;
	}

	/**
	 * Setter method for property <tt>notifyUrl</tt>.
	 *
	 * @param notifyUrl value to be assigned to property notifyUrl
	 */
	@Override
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	@Override
	public Class<AlipayMobilePublicMultiMediaDownloadResponse> getResponseClass() {
		return AlipayMobilePublicMultiMediaDownloadResponse.class;
	}

	/**
	 * @see AlipayRequest#isNeedEncrypt()
	 */
	@Override
	public boolean isNeedEncrypt() {
		return false;
	}

	/**
	 * @see AlipayRequest#setNeedEncrypt(boolean)
	 */
	@Override
	public void setNeedEncrypt(boolean needEncrypt) {

		throw new RuntimeException("当前请求不支持加密！");
	}

	@Override
	public String getReturnUrl() {
		return null;
	}

	@Override
	public void setReturnUrl(String returnUrl) {
	}

	@Override
	public AlipayObject getBizModel() {
		return null;
	}

	@Override
	public void setBizModel(AlipayObject bizModel) {
	}

}
